Scrubbing systems are used in many digital audio workstations (DAW). These systems have their origin in analog tape playback systems where a location on an analog tape audio recording could be located by xe2x80x9cscrubbingxe2x80x9d the tape back and forth across the play head of the playback device thus causing playback in the speed and direction of movement of the tape. As known in the art, xe2x80x9cdigital audio scrubbersxe2x80x9d are systems in which the user scans portions of an audio recording with an input device, which results in the audio playback of the scanned portion; the instantaneous playback position of the audio tracks the position of the user""s input device. The system is typically used to locate splice points or audio artifacts in the program.
DAWs often have two methods of scrubbing. The first method allows the user to control the instantaneous playback position of the audio data. The second method allows the user to control the playback rate and direction of the audio data. In the first method a plot of an audio waveform is displayed and the user drags a mouse or other input device that directs a control icon on the display back and forth over a portion of the waveform to be played. As the control icon moves it directs the instantaneous playback position of the audio to be played. The rate of change of position of the control icon thus ultimately directs the audio playback speed and direction. If the user scrubs the mouse from left to right the audio will play back in the forward direction. Likewise, a mouse movement from right to left will result in reverse playback. If the user stops moving the mouse the audio is frozen in the current location. Scrubbing is activated either by holding down a key, or a mouse button, or it is toggled on and off by clicking a mouse button or with a key press.
In a second method a xe2x80x9cjog-wheelxe2x80x9d is used. The xe2x80x9cjog-wheelxe2x80x9d can be a physical input device connected to the scrubbing system or it can be a virtual input device, such as a slider, on the graphical display and controlled with a mouse. The xe2x80x9cjog-wheelxe2x80x9d is moved in one direction to start forward playback and the opposite direction to start reverse playback. When the xe2x80x9cjog-wheelxe2x80x9d is released it returns to center automatically and playback stops. The playback speed is controlled by the amount the xe2x80x9cjog-wheelxe2x80x9d is moved from its resting position. In both methods of scrubbing as playback occurs a visual indication of the playing audio is shown. Often a cursor in the form of a simple line is moved over the audio waveform.
Typical audio-visual scrubbing systems use sample rate conversion to adjust the speed of the audio playback. When scrubbing in the mode that controls speed and direction directly this is fairly straightforward. When scrubbing in the mode that controls instantaneous playback position the speed is constantly adjusted to try and track the playback position indicated from the user. Using sample rate conversion offers two disadvantages: 1) The playback pitch is shifted proportionately to the playback speed. At very slow and fast playback speeds the audio will sound quite differently from the original. Also, when the user stops moving the input device the audio will be muted. 2) Many systems have a large output latency, which result in a system that is difficult to control.
It is desired to have a system where 1) playback speed can be controlled independently of pitch, 2) synchronization between audio playback and the user""s input device can be obtained, and 3) it is possible to for the user to hold the input device at one position in the audio waveform and have the audio at that position sustain playback.
According to one aspect of the invention, an audio scrubber GUI includes a representation of a media file, a control icon, and a user input device. An audio system utilizes a phase-vocoder to implement playback of a portion of the media file indicated by the control icon. A user input device is used to manipulate the control icon to indicate the instantaneous position, or equivalently the direction and speed of playback of the media file. The phase-vocoder allows the playback rate to be varied while preserving pitch and also allows for pitch modification independent from the playback rate.
According to another aspect of the invention, the audio system synchronizes the playback of the media file to the asynchronous clock output by the audio scrubber system. For this aspect the instantaneous position of the input device is periodically translated to a playback media time. This playback media time can be viewed as a clock signal to synchronize audio playback with.
According to another aspect of the invention, the media file is analyzed in real time to facilitate real time playback in response to manipulations of the control icon.
According to another aspect of the invention, a specified motion of the control icon can cause pitch shifting independent of playback rate or if playback is paused.